f2aeafece73158742f04b59f8f6cd1ef56d0aed7,dataAcq/buffer/android/BufferServiceController/app/src/main/java/nl/dcc/buffer_bci/bufferservicecontroller/visualize/DrawThread.java,DrawThread,run,#,78

Before Change



    public void run() {
        while (run) {
            updateModel();
            Canvas c = null;
            try {
                c = sh.lockCanvas(null);

After Change


    public void run() {
        boolean damage=true;
        while (run) {
            damage=updateModel();
            if ( damage ) {
                Canvas c = null;
                try {
                    c = sh.lockCanvas(null);
                    synchronized (sh) {
                        doDraw(c);
                    }
                } finally {
                    if (c != null) {
                        sh.unlockCanvasAndPost(c);
                    }
                }
            } else {
                try {
                    Thread.sleep(minRedraw);
                } catch ( InterruptedException ex) {
                }
            }